package com.share51.novel.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.share51.novel.entity.Novel;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author gb
 * @since 2020-03-23
 */
@Mapper
public interface NovelMapper extends BaseMapper<Novel> {

    /**
     * 修改 内容
     * @param novel
     * @return
     */
    Integer updateNovel(Novel novel);

    /**
     * 获取 连载中的小说id,url和最新的orderIndex
     * @param status 连载状态
     * @return
     */
    List<Novel> getAllNovelBySeriesStatus(Integer status);

    /**
     * 修改 连载状态
     * @param novel
     */
    void editNovelSeriesStatus(Novel novel);

    /**
     * 修改未发布的内容未发布状态
     * @param id
     * @param status
     * @param publishStatus
     */
    void editNovelStatusByStatus(@Param("id") Integer id,
                                 @Param("status") Integer status,
                                 @Param("publishStatus") int publishStatus);

    /**
     * 根据编号获取小说名称和状态
     * @param novelId
     * @return
     */
    Novel getNovelNameAndStatusById(Integer novelId);

    /**
     * 修改未删除的小说状态为正常
     * @param novelId
     * @param status
     * @param statusDel
     */
    void updateNovelStatus(@Param("novelId") Integer novelId,
                           @Param("status") int status,
                           @Param("statusDel")int statusDel);
}
